TIP

每个节点有两个孩子或三个孩子 二三树

满足二分搜索树的基本性质

节点可以存放一个元素或者两个元素

image-20200403014857152

一个节点可以存放一个元素分别有两个孩子,还有一种可以存放两个元素,有三个孩子。

有两个孩子的称为二节点,有三个孩子的称为三节点

image-20200403015609323

WARNING

注意上图中的23树,满足二分搜索树的基本性质

2-3树是一种绝对平衡的树

什么是绝对平衡树呢,对于任意节点,它的左右子树的高度一定是相等的。

那么 2-3 是怎样维护这种绝对平衡的呢?

模拟一下 二三树的添加节点

  • 添加第一个节点

    image-20200408094810014

    添加第一个元素很简单,就是直接添加即可

  • 添加第二个元素

    因为 二三树 满足二叉搜索树的性质,所以按常理来说应该是下面这个样子的

    image-20200408095120505

    但是如果是这样的话,就不满足是一颗绝对平衡树了,所以在这个时候这两个节点就需要发生合并

    image-20200408095636964

    当合并之后,这样就同事满足,【二分搜索树】和【绝对平衡】的二叉树了,在这样的情况下,如果再添加第三个元素会发生怎样呢

  • 添加第三个元素

    正常情况应该是这样的

    image-20200408095745118

    但是如果这样的话就和之前遇到的问题一样了,就是不满足【满二叉树】的性质了,所以此时也需要发生改变

    image-20200408095954219

    经过上方的转变之后呢就又维系了【二分搜索树】和【满二叉树】的性质了

    接下来的过程就是类似的了。

  • 添加第四个元素

    image-20200408100320197
最后编辑时间: 4/9/2020, 9:53:23 AM